package collection;

import java.util.ArrayList;
import java.util.Collection;
/**
 * 集合
 * 集合与数组一样，可以保存一组元素，并且操作元素都被封装成了方法，使用方便。
 * 集合有多种不同的数据结构可供使用
 *
 * java.util.Collection接口，是集合的顶级接口，规定了所有集合都应当具备的功能。
 *
 * 常见的子类型:
 * java.util.List:可重复且有序的集合，一般也成为"线性表"
 * java.util.Set:不可重复的集合
 * 这里元素是否重复是依靠元素自身的equals方法比较的结果
 */
public class CollectionDemo1 {
    public static void main(String[] args) {
        Collection c = new ArrayList();
        Collection collection = new ArrayList();
        /**
            1. boolean add(E e)    注:先将E当作Object看待
            将给定元素添加到当前集合中，返回值表示元素是否成功添加。(List集合不会，但是Set集合会出现添加不成功）
            因为是Object，所以集合仅能存放引用类型元素，字符串是引用类型
         */
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        System.out.println(c);
        /**
            2. 对象.size()
            返回当前集合的元素个数,返回int值，所以要用int值接收
            int_MAX够用了
         */
        int size = c.size();
        System.out.println("size:"+size);
        /**
            3. boolean isEmpty()
            判断当前集合是否为空集(不含有任何元素，size=0)
            注意，c==null，意思是没有集合。而isEmpty说明集合c是有的，只是没有元素
         */
        boolean isEmpty = c.isEmpty();
        System.out.println("isEmpty:"+isEmpty);
        /**
            4. void clear()
            清空集合
         */
        c.clear();
        System.out.println(c);
        System.out.println("size:"+c.size());
        System.out.println("isEmpty:"+c.isEmpty());
    }
}
